package br.com.financas.bean;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.com.financas.abstractions.IUsuarioService;
import br.com.financas.entity.Usuario;
import br.com.financas.service.UsuarioService;
import br.com.financas.util.Criptografia;

@ManagedBean
@ViewScoped
public class NovoUsuarioBean extends AbstractBean {
	
	private Usuario usuario = new Usuario();
	private IUsuarioService<Usuario> usuarioService = new UsuarioService();
	private String novaSenha;

	public String getNovaSenha() {
		return novaSenha;
	}

	public void setNovaSenha(String novaSenha) {
		this.novaSenha = Criptografia.criptografar(novaSenha);
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Usuario getUsuario() {
		return this.usuario;
	}

	public String cadastrar() throws Exception {

		String retorno = null;
		String nextPage = "/login.xhtml";
		String msgErro = usuarioService.validarCadastro(usuario, novaSenha);

		if (msgErro != null) {
			
			displayWarnMessageToUser(msgErro);
			
		} else {
			
			displayInfoMessageToUser("cadastro.sucesso");
			retorno = nextPage;
			
		}

		return retorno;

	}

	public String cancelarCadastro() {
		String nextPage = "/login.xhtml";

		return nextPage;

	}
	

}
